

package jumavidesktop.Persistencia.Dao.Implementaciones;

import javax.persistence.EntityManager;
import jumavidesktop.Otros.Pojos.MyRespuesta;
import jumavidesktop.Persistencia.Dao.AbstractDAO;
import jumavidesktop.Persistencia.Dao.Interfaces.IDaoConfigANPR;
import jumavidesktop.Persistencia.entidades.Configanpr;

/**
 *
 * @author vimso
 */
public class DaoConfigANPR extends AbstractDAO<Configanpr> implements  IDaoConfigANPR{

    public DaoConfigANPR() {
        super();
    }
    
    public DaoConfigANPR(EntityManager entityManager) {
        super( entityManager);
    }
    
    @Override
    public MyRespuesta verificarDatosMinimos(Configanpr entidad) {
        
        MyRespuesta res= new MyRespuesta();
        //Debe pertenecer a una cámara.
        
        if (entidad==null) {
            res.addError("Entidad a nul");
            return res;
        }
        
        if(entidad.getCamara()==null)
        {
            res.addError("Debe establecer a la cámara que corresponde");
        }
        
        //Se debe establecer un tamaño mínimo y maximo
        if (entidad.getSizeMax()==0 || entidad.getSizeMin()==0) {
            res.addError("Debe establecer el tamaño mínimo y máximo de la matricula");
        }
        
        return res;
    }

    @Override
    public MyRespuesta verificarEntidadAlGuardar(Configanpr entidad) {
        return this.verificarDatosMinimos(entidad);
    }

    @Override
    public MyRespuesta verificarEntidadAlModificar(Configanpr entidad) {
        return this.verificarDatosMinimos(entidad);
    }

    @Override
    public MyRespuesta verificarEntidadAlEliminar(Configanpr entidad) {
        return new MyRespuesta();
    }

    @Override
    protected Class getClase() {
        return DaoConfigANPR.class;
    }

    @Override
    public boolean tieneRegistros() {
        return this.existenRegistros();
    }

    @Override
    public Configanpr encuentraEntidad(Object id) {
        return this.encuentraRegistro(Configanpr.class, id);
    }
    
}
